package proyecto.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import proyecto.modelo.Idea;
import proyecto.util.ConexionBD;

public class IdeaDAO extends BaseDAO {
	
	public Idea insertar(Idea idea){
		//Va el Codigo para Insert en BD en la tabla Idea
		//String query = "INSERT INTO idea (Titulo, Descripcion, PalabraClave01, PalabraClave02, PalabraClave03, PalabraClave04, FechaHora, Estado, SubirArchivo, IdUsuarioEstudiante, IdUsuarioDocente) VALUES (?,?,?,?,?,?,?,?,?,?,?)";
		String query = "INSERT INTO idea (Titulo, Descripcion, PalabraClave01, PalabraClave02, PalabraClave03, PalabraClave04) VALUES (?,?,?,?,?,?)";
		Connection conexion = null;
		PreparedStatement stmt = null;
		ResultSet rs = null;
		
		try {
			conexion = ConexionBD.obtenerConexion();
			stmt = conexion.prepareStatement(query);
			//stmt.setInt(1, vo.getIdIdea());
			stmt.setString(1, idea.getTitulo());
			stmt.setString(2, idea.getDescripcion());
			stmt.setString(3, idea.getPalabraClave01());
			stmt.setString(4, idea.getPalabraClave02());
			stmt.setString(5, idea.getPalabraClave03());
			stmt.setString(6, idea.getPalabraClave04());
			
			stmt.execute();
			
			
			//Obtener el Ultimo Codigo Insertado
			int id = 0;
			query = "SELECT LAST_INSERT_ID()";
			stmt = conexion.prepareStatement(query);
			rs = stmt.executeQuery();
			if (rs.next()) {
				id = rs.getInt(1);
			}
			
			idea.setIdIdea(id);
			
		} catch (Exception e) {
			System.out.println("Error:"+e.getMessage());
		} finally {
			this.cerrarResultSet(rs);
			this.cerrarStatement(stmt);
			this.cerrarConexion(conexion);
		}
		
		
		
		
		return idea;
	}
	
	public int modificar(Idea idea){
		//Va el Codigo para Update en BD en la tabla Idea	
		String error = null;
        String query = "UPDATE profesores SET appaterno = ?,apmaterno = ?,nombres = ?,nacimiento = ?,direccion = ?,referencia = ?,genero = ?,estado = ? WHERE idprofesor = ?";
        
        Connection conexion = null;
        PreparedStatement stmt = null;
        
        try {
	        conexion = ConexionBD.obtenerConexion();	        
	        if (conexion != null) {	            
                stmt = conexion.prepareStatement(query);
                
                stmt.setString(1, idea.getTitulo());
                stmt.setString(2, idea.getDescripcion());
                stmt.setString(3, idea.getPalabraClave01());
                
                int ctos = stmt.executeUpdate();
                if (ctos == 0) {
                    error = "0 filas afectadas";
                }
            
	        } else {
	            error = "No se conecta a DB.";
	        }
        } catch (SQLException e) {
            error = e.getMessage();
        } finally {            	
			this.cerrarStatement(stmt);
			this.cerrarConexion(conexion);
        }
		return 0;
	}
	
}
